package part4;

/**
 * @author wcj
 * @Date 2021/5/12 15:34
 * @Version 1.0
 */
public class Part47 {
    public static void main(String[] args) {
        // 带标签的continue和break需要注意
        // 一般的continue是跳转到循环的顶部，但是带标签的是跳转到标签处重新进入循环，不会向一般的continue那样执行下一次循环的步进语句
        // 一般的break会直接中断当前循环，而带标签的会中断跳出到标签位置，可能重新进入循环
        int i = 0;
        outer:
        for (; ; ) {
            inner:
            for (; i < 10; i++) {
                System.out.println("i=" + i);
                if (i == 2) {
                    System.out.println("continue");
                    continue;
                }
                if (i == 3) {
                    System.out.println("break");
                    i++;
                    break;
                }
                if (i == 7) {
                    System.out.println("continue outer");
                    i++;
                    continue outer;
                }
                if (i == 8) {
                    System.out.println("break outer");
                    break outer;
                }
                for (int j = 0; j < 5; j++) {
                    if (j == 3) {
                        System.out.println("continue inner");
                        continue inner;
                    }
                }
            }
        }
    }
}
